/*
 * @作者: 沙昊
 * @邮箱: shahao@zju.edu.cn
 * @功能: 
 * @包含算法: 
 * Copyright (c) 2023 by 沙昊, All Rights Reserved. 
 */

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

void calculate_dist(vector<int>& dist_list, vector<int> index_list, int n){
    sort(index_list.begin(),index_list.end());
    dist_list[0] = index_list[1]-index_list[0];
    dist_list[1] = index_list[2]-index_list[1];
    dist_list[2] = index_list[0]-index_list[1]+n;
}


int main() {
    int n;
    cin>>n;
    for(int i=0; i<n; i++){
        int num,min_dis;
        cin>>num;
        cin>>min_dis;
        vector<int> index_list(3);
        vector<int> dist_list(3);
        cin>>index_list[0];
        cin>>index_list[1];
        cin>>index_list[2];
        if(num<min_dis*3){
            cout<<-1<<endl;
            continue;
        }
        calculate_dist(dist_list,index_list,num);
        if(dist_list[0]>=min_dis && dist_list[1]>=min_dis &&dist_list[2]>=min_dis){
            cout<<0<<endl;
            continue;
        }
        int count =0;
        while(dist_list[0]<min_dis || dist_list[1]<min_dis ||dist_list[2]<min_dis){
            for(int i=0; i<3; i++){
                
            }

        }

        cout<<2<<endl;
    }

}
// 64 位输出请用 printf("%lld")


int n;
cin>>n;
vector<int> nums(n);


int num;
vector<int> nums(n);
while(cin>>num){
    nums.push_back(num);
}

cout<<"["
vector<vector<int>> res;
for(int i=0; i<res.size(); i++){
    cout<<"[";
    for(int j=0; j<res[0].size(); j++){
        cout<<res[];
    }
}